HOW TO USE THIS FILE:
This is a collection of Bindings line templates for various types of AI.  Simply find the template for the .py you are using, copy and paste it into Bindings.py, and tweak the settings as needed.

Most of the extra settings in these templates are set to the default values that are used when nothing is specified in Bindings--I am including them here so you can easily edit them and not need to look in the .py files to find out what to type.  However, a few less-commonly used features are not included in the templates to keep them from being overwhelmingly long and complicated.  You're invited to explore the .py files to find out what else you can do.  Usually, all the information you need can be found near the top in a block of comments.

###################################################

[1]  Omni.py / InvertOmni2.py
Here is a basic, minimally-featured Bindings line that you can copy, paste, and modify for almost any other bot.

    list.append(("Enter Bot Name","Omni",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'weapons':(0,)}))

    list.append(("Enter Bot Name","InvertOmni2",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'weapons':(0,)}))
    
###################################################

[2]  Omni.py with "Ram" tactic
Same as above, but with extra parameters for rammer tactics.

    list.append(("Enter Bot Name","Omni",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'tactic':"Ram",'ThresholdSpeed':3,'SightRange':5,'BackUpTime':9999,'AimError':0,'weapons':(0,)}))
    
###################################################

[3]  Omni.py with "Charge" tactic
Same as above, but uses different default settings more suited for slower bots or for more pushing and less ramming on fast bots.

    list.append(("Enter Bot Name","Omni",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'tactic':"Charge",'ThresholdSpeed':0.1,'SightRange':3,'BackUpTime':9999,'AimError':0,'weapons':(0,)}))

###################################################

[4]  InvertOmni.py

Omni that can become invertible once 'sweapons' break (usually a srimech).

    list.append(("Enter Bot Name","InvertOmni",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'weapons':(0,),'sweapons':(0,)}))

###################################################

[5]  Popup.py

Advanced popup AI that aims for the opponent's chassis.

    list.append(("Enter Bot Name","Popup",{'nose':math.pi*2,'invertible':False,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'NoChassisTime':2,'RunUpsideDown':0,'weapons':(0,)}))

###################################################

[6]  EcoOmni.py

For bots with battery issues, or unstable spinners that need to keep their weapons off until needed.

    list.append(("Enter Bot Name","EcoOmni",{'nose':math.pi*2,'invertible':False,'range':10,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'UseSpinZone':0,'StartSpinup':2,'Pulse':0,'PulseRange':0,'weapons':(0,)}))

###################################################

[7]  VertSpinner.py

Spinner AI that self-rights by reversing the spinner.

    list.append(("Enter Bot Name","VertSpinner",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'TrollDanceZone':1,'weapons':(0,),'sweapons':(0,)}))

###################################################

[8]  SpinupOmni2.py

Spinner AI that keeps track of how fast it's spinning and doesn't move until it reaches a certain speed.

    list.append(("Enter Bot Name","SpinupOmni2",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'MotorID':2,'Motor2ID':-1,'TargetRPM':100,'DisplayRPM':0,'JamTime':1.5,'weapons':(0,)}))

###################################################

[9]  FBS_2.py

Sit-and-spin AI that SPINS IN ONE PLACE.

    list.append(("Enter Bot Name","FBS_2",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'fbs_range':3,'PreSpinEntrance':0,'clockwise':0,'chase_time':60,'Pulse':0,'SRcycle':16,'weapons':(0,)}))

###################################################

[10]  FBSPlus.py / FBSInvertDir.py

This is the one that MOVES WHILE SPINNING with "Melty Brain" driving.

    list.append(("Enter Bot Name","FBSPlus",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'direction':1,'spinspeed':6,'accuracy':0.01,'weapons':(0,)}))

    list.append(("Enter Bot Name","FBSInvertDir",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'direction':1,'spinspeed':6,'accuracy':0.01,'weapons':(0,)}))

###################################################

[11]  Flipper2.py

Advanced flipper AI with better immobility detection.

    list.append(("Enter Bot Name","Flipper2",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'UseSrimech':0,'EnemyMoveRadius':1,'EnemyMoveTime':3,'cooldown':3,'PrioritizeFlipper':0,'NoChassisTime':1,'SrimechInterval':1,'weapons':(0,)}))

###################################################

[12]  BiDirRam.py

For rammers with front and back weapons.  Attacks with whatever side has the most weapons remaining.

    list.append(("Enter Bot Name","BiDirRam",{'nose':math.pi*2,'invertible':True,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'weapons':(0,),'sweapons':(0,)}))

###################################################

[13]  ElectricHammer.py

Swings a hammer on a spin motor, as opposed to a burst motor, back and forth.

    list.append(("Enter Bot Name","ElectricHammer",{'nose':math.pi*2,'invertible':True,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'NoChassisTime':2,'StartAngle':math.pi,'SwingTime':5,'weapons':(0,)}))

###################################################

[14]  LaserguidedV2.py

Aims a servo motor at the opponent and fires a weapon mounted on it.  Use for Tazbot style turret bots.

    list.append(("Enter Bot Name","LaserGuidedV2",{'nose':math.pi*2,'invertible':False,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'servospeed':30,'delta':0.2,'servorange':3.5,'servonose':1,'weapons':(0,)}))

###################################################

[15]  Thwack3.py

This the same as FBS_2, but distinguishes between thwack weapons (sweapons) and total weapons (weapons).  Better for T-Wrex style thwackbots.

    list.append(("Enter Bot Name","Thwack3",{'nose':math.pi*2,'invertible':True,'tactic':"Ram",'SightRange':5,'ThresholdSpeed':3,'AimError':0.2,'range':50,'radius':1,'topspeed':100,'throttle':100,'turn':100,'turnspeed':2.5,'fbs_range':20,'PreSpinEntrance':0,'clockwise':0,'chase_time':10,'Pulse':0,'SRcycle':16,'weapons':(0,),'sweapons':(0,)}))

###################################################